﻿package zf.display
{
	import flash.display.Sprite;
	import flash.geom.Point;

	import zf.data.geom.plan.RegularStar;

	/**
	 * 正星形类 
	 * @author Mike.zhang
	 * @langversion 3.0 
	 * @playerversion Flash 9 
	 * @see zf.data.geom.plan.RegularStar
	 */
	public class RStarSprite extends Sprite
	{
		private var _center:Point;
		private var _rs:RegularStar;

		/**
		 * 创建一个正星形
		 * @param corner 顶点数
		 * @param innerRadius 内半径
		 * @param outerRadius 外半径
		 * @param dx 偏移点x坐标
		 * @param dy 偏移点y坐标
		 * @param rotation 旋转度
		 * @param color 填充色
		 * @param lineColor 线条颜色
		 * @throws ArgumentError 顶点数必须大于2，否则将产生 ArgumentError 异常
		 */
		public function RStarSprite (corner:uint=3,innerRadius:Number=20,outerRadius:Number=50,dx:Number=0,dy:Number=0,rotation:Number=0,color:uint=0xFF0000,lineColor:uint=0x000000)
		{
			super ();
			_rs=new RegularStar(corner,innerRadius,outerRadius);
			this.graphics.beginFill (color,1);
			this.graphics.lineStyle (1,lineColor);
			_rs.draw (this,dx,dy,rotation);
			this.graphics.endFill ();
			_center=new Point(width * 0.5 + dx,height * 0.5 + dy);
		}

		/**
		 * 返回正星形图的 RegularStar 对象
		 * @return RegularStar对象
		 * 
		 */
		public function get rstar ():RegularStar
		{
			return _rs;
		}

		/**
		 * 返回正星形图的中心点 
		 * @return 中心点
		 * 
		 */
		public function get center ():Point
		{
			return _center;
		}

	}
}